package com.pianzhu.blockchainemr.mapper;

import com.pianzhu.blockchainemr.pojo.*;
import com.pianzhu.blockchainemr.pojo.result.RecentActivitiesResult;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

@Mapper
public interface AdminMapper {
    List<EmrDeptDict> getDeptList();

    void addDept(EmrDeptDict dept);

    void updateDept(EmrDeptDict dept);

    void deleteDept(EmrDeptDict dept);

    List<EmrDiseaseDict> getDiseaseList();

    void addDisease(EmrDiseaseDict disease);

    void updateDisease(EmrDiseaseDict disease);

    void deleteDisease(EmrDiseaseDict disease);

    List<EmrExamItemDict> getExamItemList();

    void addExamItem(EmrExamItemDict examItem);

    void updateExamItem(EmrExamItemDict examItem);

    void deleteExamItem(EmrExamItemDict examItem);

    List<EmrDrugDict> getDrugList();

    void addDrug(EmrDrugDict drug);

    void updateDrug(EmrDrugDict drug);

    void deleteDrug(EmrDrugDict drug);

    Integer getUsersCount();

    List<RecentActivitiesResult> getRecentActivitiesResult();

    List<OperationLog> getOperationList(@Param("module") String module,
                                        @Param("operation") String operation,
                                        @Param("operatorName") String operatorName,
                                        @Param("status") String status);

    int getOperationCount(@Param("module") String module,
                          @Param("operation") String operation,
                          @Param("operatorName") String operatorName,
                          @Param("status") String status);
}
